package com.leyou.gateway.fallback;

import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class FallbackController {

    /**
     * Resat风格中，返回值的规定：
     *   -  响应体中 只能包含数据， 不能包含其他
     *   -   通过响应状态码来反映执行情况
     *
     * ResponseEntity ： 代表的就是整个Response， 包含： 响应状态码、 响应头、 响应体
     * 默认的超时处理逻辑
     * @return 超时提醒
     */
       //     这里的 value 值  与yml 文件中 配置的跳转路径 一致
    @RequestMapping(value = "/hystrix/fallback")
    public ResponseEntity<String> fallBackController() {
    // 返回 响应实体：ResponseEntity  .status  : 状态   .GATEWAY_TIMEOUT ： 504(网络超时)
     return ResponseEntity.status(HttpStatus.GATEWAY_TIMEOUT).body("请求超时！");
    }
}